When each cylinder of a diesel engine is provided with fuel injection means and injection amount is controlled by controlling the energizing time of the fuel injection means, a fuel injection control system determines the command injection amount and the injection frequency with which the fuel injection means is to inject on the basis of the current engine control parameters. At this time, in order to mitigate the complexity of calculations, usually the command injection amounts with which the fuel injection means is to inject corresponding to the engine control parameters are stored in command storage means referred to as a map. The command injection amount with which the fuel injection means is to inject corresponding to the engine control parameters is stored in the map. If the map is referred to on the basis of the engine control parameters, a command injection amount is obtained.
The fuel injection control system does not inject the total amount of the command injection amount which is to be injected all at once in a single combustion cycle, but rather performs auxiliary injections which are referred to as pilot injections or after injections, an appropriate number of times before or after a main injection. This is called multi-injection. In multi-injection, a command injection amount is injected divided into a plurality of times. Command storage means in which this injection pattern (command injection amount and injection frequency) is mapped is referred to as a multi-injection pattern map.
The command injection amount is provided using energizing time according to the basic principal that injection amount is proportional to energizing time. However, in reality there are variations (individual differences) in the ratio of injection amount and energizing time for each individual fuel injection means, and therefore it is necessary to correct for each cylinder the actual injection amount injected by the fuel injection means to correspond with the command injection amount.
The required correction amount differs with each individual fuel injection means, however the required correction amount for the same individual fuel injection means does not change drastically within a short period of time. Therefore, conventionally, the correction amount relative to the command injection amount is learnt so the actual injection amount actually injected by the fuel injection means corresponds with the command injection amount, and the command injection amount is corrected using this learned correction amount after learning. The command injection amount is provided using energizing time, and thereby the correction amount is also provided using an energizing correction time for shortening and lengthening the energizing time of the command injection amount.
The learned correction amount is stored in a nonvolatile memory. As a result of this, the learned correction amount is maintained also after power is turned off, and as such the next time power is turned on, the stored correction amount can be used without relearning.
Also, when idling, in order to adjust the engine speed at which the engine is actually currently rotating (hereafter referred to as actual engine speed) to the engine speed targeted by the fuel injection control system (hereafter referred to as target engine speed), the fuel injection control system determines a feedback amount by multiplying the deviation of the target engine speed and the actual engine speed by a proportionality factor (hereafter referred to as idle feedback factor), and superposes this feedback amount on the command injection amount to make a correction to the target engine speed so as to bring the actual engine speed closer to the target engine speed.